# 1 函数名代表函数入口地址
# 2 函数名()代表函数调用: 直接调用
# 3 函数入口地址做函数参数: 间接调用, 回调函数


# 1 定义一个没有返回值的函数 myfunc
def myfunc():
    print('函数执行一次...')
    pass


def myworkframe(myfunc_callback):
    myfunc_callback() # 间接调用
    pass


if __name__ == '__main__':
    print('---------------1 打印函数入口地址--------------')
    # 1 打印函数入口地址
    print('myfunc-->', myfunc)

    print('----------2 直接调用-------------------')
    # 2 直接调用
    myfunc()

    print('-------------3-1 函数名当变量, 给其他变量赋值, 间接调用----------------')
    # 3-1 函数名当变量, 给其他变量赋值, 间接调用
    myfunc2 = myfunc
    myfunc2()

    print('--------------3-2 函数名当函数参数 相当于间接调用---------------')
    # 3-2 函数名当函数参数 相当于间接调用
    myworkframe(myfunc)
    pass

